/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gcs.Negocio;

/**
 *
 * @author Pedro
 */
public class Actividade {

    //variáveis
    private static int contador=0;
    private String codAct;
    private String nomeAct;
    private String desc;
    private float preco;
    private boolean activo;

    //construtores
    public Actividade (){
        increaseContador();
        this.codAct="A"+contador;
        this.nomeAct="";
        this.desc="";
        this.activo=true;
        this.preco=0;
    }

    public Actividade (boolean x){
        this.codAct="A"+contador;
        this.nomeAct="";
        this.desc="";
        this.activo=true;
        this.preco=0;
    }

   public Actividade(String nome,String desc,boolean act,float p){
        increaseContador();
        this.codAct="A"+contador;
        this.nomeAct=nome;
        this.desc=desc;
        this.activo=act;
        this.preco=p;
    }

   public Actividade(String cod,String nome,String desc,boolean act,float p){
        this.codAct=cod;
        this.nomeAct=nome;
        this.desc=desc;
        this.activo =act;
        this.preco=p;
    }

    public Actividade(Actividade a){
        this.codAct=a.getcodAct();
        this.nomeAct=a.getNome();
        this.desc=a.getDesc();
        this.activo =a.getActivo();
        this.preco=a.getPreco();
    }

    //Métodos

    //Gets
    public String getcodAct(){return this.codAct;}
    public String getNome(){return this.nomeAct;}
    public String getDesc(){return this.desc;}
    public static int getContador(){return contador;}
    public boolean getActivo(){return this.activo;}
    public float getPreco(){return this.preco;}

    //Sets
    public void setcodAct(String cod){this.codAct=cod;}
    public void setNome(String nome){this.nomeAct=nome;}
    public void setDes(String d){this.desc=d;}
    public static void setContador(int cont){contador=cont;}
    public void setActivo(boolean act){this.activo=act;}
    public void setPreco(float p){this.preco=p;}

    //Restantes
    public static void increaseContador(){contador+=1;}
    //clone
    @Override
    public Actividade clone(){return new Actividade(this);}
    //Equals
    @Override
    public boolean equals(Object o){
        if(this == o)return true;
        if((o==null) || this.getClass()!=o.getClass())return false;
        Actividade a = (Actividade)o;
        return (   this.codAct.equals(a.getcodAct())
                && this.desc.equals(a.getDesc())
                && this.preco==a.getPreco()
                && this.nomeAct.equals(a.getNome())
                && this.activo==a.getActivo());
    }
}
